# 由 Django 3.0.2 自动生成于 2020-02-24 15:16
# 此文件定义了数据库表结构的变更操作

from django.db import migrations, models


class Migration(migrations.Migration):
    # 标识这是一个初始迁移（创建新表）
    initial = True

    # 依赖项列表（此迁移不依赖其他迁移）
    dependencies = []

    # 定义要执行的数据库操作
    operations = [
        # 创建购物车信息表
        migrations.CreateModel(
            name='CartInfos',
            fields=[
                # 自增主键，不参与序列化（用于内部唯一标识）
                ('id', models.AutoField(primary_key=True, serialize=False)),

                # 购买数量字段，存储用户在购物车中选择的商品数量
                ('quantity', models.IntegerField(verbose_name='购买数量')),

                # 关联的商品ID（外键的简化实现，直接存储商品ID）
                ('commodityInfos_id', models.IntegerField(verbose_name='商品ID')),

                # 关联的用户ID（外键的简化实现，直接存储用户ID）
                ('user_id', models.IntegerField(verbose_name='用户ID')),
            ],
            options={
                # 在管理界面中显示的单数名称
                'verbose_name': '购物车',
                # 在管理界面中显示的复数名称
                'verbose_name_plural': '购物车',
            },
        ),

        # 创建订单信息表
        migrations.CreateModel(
            name='OrderInfos',
            fields=[
                # 自增主键
                ('id', models.AutoField(primary_key=True, serialize=False)),

                # 订单总价，使用浮点数存储（实际项目建议使用DecimalField避免精度问题）
                ('price', models.FloatField(verbose_name='订单总价')),

                # 订单创建时间，自动设置为对象创建时的时间
                ('created', models.DateField(auto_now_add=True, verbose_name='创建时间')),

                # 关联的用户ID
                ('user_id', models.IntegerField(verbose_name='用户ID')),

                # 订单状态字段，使用选择列表限制可能的值
                ('state', models.CharField(
                    choices=[
                        ('待支付', '待支付'),  # 键值对：(存储值, 显示值)
                        ('已支付', '已支付'),
                        ('发货中', '发货中'),
                        ('已签收', '已签收'),
                        ('退货中', '退货中')
                    ],
                    max_length=20,  # 最大长度20字符
                    verbose_name='订单状态'
                )),
            ],
            options={
                'verbose_name': '订单信息',
                'verbose_name_plural': '订单信息',
            },
        ),
    ]